High Performance, Variable-Length Instruction Encodings
نویسندگان
چکیده
Minimizing program code size reduces power consumption and space, which is especially important in embedded systems. Existing variable-length instruction formats provide higher code densities than fixed-length formats, but are ill-suited to pipelined or parallel instruction fetch and decode. This thesis presents a new variable-length instruction format that supports parallel fetch and decode of multiple instructions per cycle, allowing both high code density and rapid execution for high-performance processors. The new headsand-tails (HAT) format splits each instruction into a fixed-length head and a variable-length tail, and packs heads and tails in separate sections within a larger fixed-length instruction bundle. The heads can be easily fetched and decoded in parallel as they are a fixed distance apart in the instruction stream, while the variable-length tails provide improved code density. Compared to earlier schemes that expand compressed formats on cache refills, the new format is suitable for direct execution from the instruction cache, thereby increasing effective cache capacity and reducing cache power. Various implementations of the HAT format have been evaluated on re-encoded RISC and VLIW instruction sets, yielding compression ratios between 60% and 75% using only simple statistical compression techniques. Thesis Supervisor: Krste Asanović Title: Assistant Professor
منابع مشابه
The Heads and Tails Instruction Format
Existing variable-length instruction formats provide higher code densities than fixed-length formats, but are illsuited to pipelined or parallel instruction fetch and decode. However, heads-and-tails (HAT) is a new variable-length instruction format that supports parallel fetch and decode of multiple instructions per cycle, allowing both high code density and rapid execution for high-performanc...
متن کاملInstruction Cache Designs for a Class of Statically Scheduled Instruction Level Parallel Architectures
Statically-scheduled architectures such as very long instruction word (VLIW) architectures use very wide instruction words in conjunction with high bandwidth to the instruction cache to achieve multiple instruction issue. The encoding used for the instructions can have an e ect on the requirements placed on the instruction fetch and instruction cache hardware. One type of encoding is a compress...
متن کاملVariable-Length Word Encodings for Neural Translation Models
Recent work in neural machine translation has shown promising performance, but the most effective architectures do not scale naturally to large vocabulary sizes. We propose and compare three variable-length encoding schemes that represent a large vocabulary corpus using a much smaller vocabulary with no loss in information. Common words are unaffected by our encoding, but rare words are encoded...
متن کاملSpecial Cases of Encodings by Generalized Adaptive Codes
Adaptive (variable-length) codes associate variable-length codewords to symbols being encoded depending on the previous symbols in the input data string. This class of codes has been presented in [10, 11] as a new class of non-standard variable-length codes. Generalized adaptive codes (GA codes, for short) have been also presented in [10, 11] not only as a new class of nonstandard variable-leng...
متن کاملEncodings for High-Performance Energy-Efficient Signaling
Energy eÆciency, performance and signal integrity are conicting critical requirements for on-chip signaling. We propose a code-based solution that improves bit rate while reducing communication energy and preserving noise margins. Our technique is based on the observation that RC lines can be used at twice their limiting bit rate to transmit bit streams with no isolated bits. We propose new enc...
متن کامل